home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #4 / Amiga Plus CD - 2000 - No. 4.iso / Tools / Emulatoren / UAE0.6.4 / src / include / dos-sb.h < prev    next >
C/C++ Source or Header  |  2000-05-27  |  2KB  |  71 lines

  1.  /*
  2.   * UAE - The Un*x Amiga Emulator
  3.   *
  4.   * DOS Sound Blaster interface.
  5.   *
  6.   * (c) 1996 Peter Remmers
  7.   */
  8.  
  9. /* internally used types */
  10. typedef UWORD          BOOL;
  11.  
  12. typedef enum
  13. {
  14.   SB_Type_StdSB,
  15.   SB_Type_SbPro,
  16.   SB_Type_SB16
  17. }
  18. tSBType;
  19.  
  20. extern tSBType SB_Type;
  21.  
  22. extern volatile int           SB_Playing;
  23. extern volatile unsigned long SB_Bytes_Played;
  24.  
  25. extern BOOL SB_Reset(void);
  26. extern void SB_WriteDSP (UBYTE value);
  27. extern UBYTE SB_ReadDSP (void);
  28. extern void SB_WriteMixer (UBYTE reg, UBYTE data);
  29. extern UBYTE SB_ReadMixer (UBYTE reg);
  30. extern BOOL SB_DetectMixer (void);
  31. extern UBYTE fifo_read (void);
  32. extern void fifo_write (UBYTE val);
  33. extern void fill_buffer (UBYTE buf);
  34. extern void SB_Play_8Bit_Std (UWORD bytes);
  35. extern void SB_Play_8Bit_SbPro (UWORD bytes);
  36. extern void SB_Play_8Bit_SB16 (UWORD bytes);
  37. extern void SB_Play_8Bit_SB16_Autoinit (UWORD bytes);
  38. extern void SB_Play_16Bit (UWORD bytes);
  39. extern void SB_Play_16Bit_Autoinit (UWORD bytes);
  40. extern void SB_IntHandler_Single (void);
  41. extern void SB_IntHandler_Autoinit (void);
  42. extern void SB_IntHandler (void);
  43. extern void SB_SetRate_LoSpeed (UWORD rate);
  44. extern void SB_SetRate_HiSpeed (UWORD rate);
  45. extern void SB_SetRate_SB16 (UWORD rate);
  46. extern void calculate_buf_sizes(void);
  47. extern int SB_SetRate (unsigned short rate);
  48. extern int SB_SetBits (unsigned char bits);
  49. extern int SB_SetChannels (unsigned char channels);
  50. extern int SB_SetSigned (int sign);
  51. extern void SB_SpeakerOff(void);
  52. extern void SB_SpeakerOn(void);
  53. extern void SB_Play (void);
  54. extern void irq2 (void);
  55. extern void irq5 (void);
  56. extern void irq7 (void);
  57. extern void irq10 (void);
  58. extern int SB_Detect (unsigned short *base, unsigned short *irq,
  59.               unsigned short *dmalo, unsigned short *dmahi);
  60. extern int SB_Init (unsigned short base, unsigned short irq,
  61.             unsigned short dmalo, unsigned short dmahi);
  62. extern void SB_Done (void);
  63. extern void SB_Write (void *buf, unsigned long size);
  64. extern void SB_Flush (void);
  65. extern void SB_Stop (void);
  66. extern void SB_Continue (void);
  67. extern void SB_GetVersion (unsigned char *Maj, unsigned char *Min);
  68. extern unsigned short SB_GetFragmentSize (void);
  69. extern UWORD SB_GetBufferSize (void);
  70. extern int SB_DetectInitSound(int *dspbits, int *dsprate, int *sndbufsize);
  71.